// 获取DOM元素
const categoryTableBody = document.getElementById('category-table-body');
const addCategoryBtn = document.getElementById('add-category-btn');
const dataModal = document.getElementById('data-modal');
const closeModal = document.getElementById('close-modal');
const dataForm = document.getElementById('data-form');
const saveDataBtn = document.getElementById('save-data-btn');
const modalTitle = document.getElementById('modal-title');
const cancelBtn = document.getElementById('cancel-btn'); // 取消按钮
let currentEditingItem = null; // 当前正在编辑的项
const logoutBtn = document.getElementById('logout-btn');

// 渲染活动分类表格
function renderCategoryTable(categories) {
  categoryTableBody.innerHTML = '';
  categories.forEach(category => {
    const row = document.createElement('tr');
    row.innerHTML = `
      <td>${category.id}</td>
      <td>${category.name}</td>
      <td>
        <button class="edit-btn" data-id="${category.id}">编辑</button>
        <button class="delete-btn" data-id="${category.id}">删除</button>
      </td>
    `;
    categoryTableBody.appendChild(row);
  });
}

// 获取分类列表
function fetchCategoryList() {
  $.ajax({
    url: 'http://localhost:8083/api/root/category/list',  // 后端获取分类列表接口
    type: 'GET',
    success: function(response) {
      if (response.code === 200) {
        renderCategoryTable(response.data);  // 渲染返回的分类数据
      } else {
        alert("获取分类数据失败");
      }
    },
    error: function(xhr, status, error) {
      console.error('获取分类数据失败:', error);
    }
  });
}

// 打开弹窗
function openDataModal(isEdit = false, item = null) {
  dataModal.style.display = 'block';
  currentEditingItem = item || null;

  if (isEdit) {
    modalTitle.textContent = '编辑活动分类';
    document.getElementById('name').value = item.name;
    saveDataBtn.dataset.id = item.id; // 保存项的ID
  } else {
    modalTitle.textContent = '新增活动分类';
    dataForm.reset();
    delete saveDataBtn.dataset.id; // 清除ID
  }
}

// 关闭弹窗
closeModal.addEventListener('click', () => {
  dataModal.style.display = 'none';
});

// 取消按钮
cancelBtn.addEventListener('click', () => {
  dataModal.style.display = 'none';
});

// 保存活动分类
dataForm.addEventListener('submit', (e) => {
  e.preventDefault();
  const name = document.getElementById('name').value;

  if (saveDataBtn.dataset.id) {
    // 编辑模式
    const itemId = parseInt(saveDataBtn.dataset.id, 10); // 确保ID是整数
    updateCategory(itemId, name);
  } else {
    // 新增模式
    addCategory(name);
  }

  dataModal.style.display = 'none';
});

// 新增活动分类
function addCategory(name) {
  const category = { name };
  $.ajax({
    url: 'http://localhost:8083/api/root/category/add',
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify(category),
    success: function(response) {
      if (response.code === 200) {
        fetchCategoryList(); // 添加成功后刷新分类列表
      } else {
        alert("添加分类失败");
      }
    },
    error: function(xhr, status, error) {
      console.error('添加分类失败:', error);
    }
  });
}

// 更新活动分类
function updateCategory(id, name) {
  const category = { id, name };
  $.ajax({
    url: 'http://localhost:8083/api/root/category/update',
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify(category),
    success: function(response) {
      if (response.code === 200) {
        fetchCategoryList(); // 更新成功后刷新分类列表
      } else {
        alert("更新分类失败");
      }
    },
    error: function(xhr, status, error) {
      console.error('更新分类失败:', error);
    }
  });
}

// 删除活动分类
function deleteCategory(id) {
  $.ajax({
    url: `http://localhost:8083/api/root/category/delete/${id}`,
    type: 'POST',
    success: function(response) {
      if (response.code === 200) {
        fetchCategoryList(); // 删除成功后刷新分类列表
      } else {
        alert("删除分类失败");
      }
    },
    error: function(xhr, status, error) {
      console.error('删除分类失败:', error);
    }
  });
}

// 编辑活动分类
function editData(id) {
  $.ajax({
    url: `http://localhost:8083/api/root/category/list`, // 获取分类数据
    type: 'GET',
    success: function(response) {
      const item = response.data.find(i => i.id == id);
      if (item) {
        openDataModal(true, item); // 打开编辑弹窗
      }
    },
    error: function(xhr, status, error) {
      console.error('获取分类数据失败:', error);
    }
  });
}

// 删除活动分类
function deleteData(id) {
  deleteCategory(id);  // 调用删除接口
}

// 新增活动分类按钮事件
addCategoryBtn.addEventListener('click', () => {
  openDataModal(); // 打开新增弹窗
});

// 事件委托：处理编辑和删除按钮的点击事件
document.addEventListener('click', (event) => {
  if (event.target.classList.contains('edit-btn')) {
    const id = event.target.dataset.id;
    editData(id); // 编辑对应的数据
  }

  if (event.target.classList.contains('delete-btn')) {
    const id = event.target.dataset.id;
    deleteData(id); // 删除对应的数据
  }
});

// 退出按钮点击事件
logoutBtn.addEventListener('click', () => {
  window.location.href = '../login.html'; // 假设你要跳转到登录页面
});

// 页面初始化时获取分类列表
$(document).ready(function() {
  fetchCategoryList();
});
